package com.ydd.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.pagehelper.Page;
import com.ydd.dto.ArticlePageDTO;
import com.ydd.dto.UserDataListDTO;
import com.ydd.entity.Page.HotAtricle;
import com.ydd.entity.YddArticle;
import com.ydd.entity.YddCate;
import com.ydd.entity.YddUserData;
import com.ydd.vo.YddArticleVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.reflection.wrapper.BaseWrapper;

import java.util.List;

/**
 * (YddArticle)表数据库访问层
 *
 * @author makejava
 * @since 2023-04-29 12:08:38
 */
@Mapper
public interface YddArticleMapper extends BaseMapper<YddArticle> {

    /**
     * 分页查询
     * @param articlePageDTO
     * @return
     */
    List<YddArticleVO> list(ArticlePageDTO articlePageDTO);

    @Select("select count(*) from ydd_article")
    Integer gettotalNumber();
    @Select("select count(*) from ydd_article")
    List<HotAtricle> get7HotcAtricle();
    @Select("select id,title,author,keywords,click from ydd_article order by click desc  limit 0,7")
    List<HotAtricle> get7HotAtricle();


    /**
     * 根据id获取文章
     * @param id
     * @return
     */

    @Select("select * from ydd_article where id = #{id}")
    YddArticle getByArticleId(String id);

    /**
     * 根据id获取
     * @param cateid
     * @return
     */
    @Select("select * from ydd_cate where id=#{cateid}")
    YddCate getByCateId(Integer cateid);


    /**
     * 我的收藏/点赞文章
     * @param yddUserData
     * @return
     */
    List<YddArticleVO> userDataList(List<YddUserData> yddUserData);

    /**
     * 获取文章数量
     * @param userId
     * @return
     */
    Integer getArticleCount(String userId);

//    /**
//     * 发布文章
//     * @param yddArticle
//     */
//    void insertArticle(YddArticle yddArticle);

    /**
     * 修改文章
     * @param yddArticle
     */
    void updateArticle(YddArticle yddArticle);

    /**
     * 我的文章接口
     * @return
     */

    List<YddArticle> getArticleList();
}

